package com.xiao.train.business.req;

        import java.util.Date;
        import com.fasterxml.jackson.annotation.JsonFormat;
        import java.math.BigDecimal;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

public class DailyTrainTicketSaveReq {

    /**
    * id
    */
    private Long id;

    /**
    * 日期
    */
            @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
                @NotNull(message = "【日期】不能为空")
    private Date date;

    /**
    * 车次编号
    */
                @NotBlank(message = "【车次编号】不能为空")
    private String trainCode;

    /**
    * 出发站
    */
                @NotBlank(message = "【出发站】不能为空")
    private String start;

    /**
    * 出发站拼音
    */
                @NotBlank(message = "【出发站拼音】不能为空")
    private String startPinyin;

    /**
    * 出发时间
    */
            @JsonFormat(pattern = "HH:mm:ss",timezone = "GMT+8")
                @NotNull(message = "【出发时间】不能为空")
    private Date startTime;

    /**
    * 出发站序|本站是整个车次的第几站
    */
                @NotNull(message = "【出发站序】不能为空")
    private Integer startIndex;

    /**
    * 到达站
    */
                @NotBlank(message = "【到达站】不能为空")
    private String end;

    /**
    * 到达站拼音
    */
                @NotBlank(message = "【到达站拼音】不能为空")
    private String endPinyin;

    /**
    * 到站时间
    */
            @JsonFormat(pattern = "HH:mm:ss",timezone = "GMT+8")
                @NotNull(message = "【到站时间】不能为空")
    private Date endTime;

    /**
    * 到站站序|本站是整个车次的第几站
    */
                @NotNull(message = "【到站站序】不能为空")
    private Integer endIndex;

    /**
    * 一等座余票
    */
                @NotNull(message = "【一等座余票】不能为空")
    private Integer ydz;

    /**
    * 一等座票价
    */
                @NotNull(message = "【一等座票价】不能为空")
    private BigDecimal ydzPrice;

    /**
    * 二等座余票
    */
                @NotNull(message = "【二等座余票】不能为空")
    private Integer edz;

    /**
    * 二等座票价
    */
                @NotNull(message = "【二等座票价】不能为空")
    private BigDecimal edzPrice;

    /**
    * 软卧余票
    */
                @NotNull(message = "【软卧余票】不能为空")
    private Integer rw;

    /**
    * 软卧票价
    */
                @NotNull(message = "【软卧票价】不能为空")
    private BigDecimal rwPrice;

    /**
    * 硬卧余票
    */
                @NotNull(message = "【硬卧余票】不能为空")
    private Integer yw;

    /**
    * 硬卧票价
    */
                @NotNull(message = "【硬卧票价】不能为空")
    private BigDecimal ywPrice;

    /**
    * 新增时间
    */
            @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date createTime;

    /**
    * 修改时间
    */
            @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date updateTime;

    public Long getId() {
    return id;
    }

    public void setId(Long id) {
    this.id = id;
    }

    public Date getDate() {
    return date;
    }

    public void setDate(Date date) {
    this.date = date;
    }

    public String getTrainCode() {
    return trainCode;
    }

    public void setTrainCode(String trainCode) {
    this.trainCode = trainCode;
    }

    public String getStart() {
    return start;
    }

    public void setStart(String start) {
    this.start = start;
    }

    public String getStartPinyin() {
    return startPinyin;
    }

    public void setStartPinyin(String startPinyin) {
    this.startPinyin = startPinyin;
    }

    public Date getStartTime() {
    return startTime;
    }

    public void setStartTime(Date startTime) {
    this.startTime = startTime;
    }

    public Integer getStartIndex() {
    return startIndex;
    }

    public void setStartIndex(Integer startIndex) {
    this.startIndex = startIndex;
    }

    public String getEnd() {
    return end;
    }

    public void setEnd(String end) {
    this.end = end;
    }

    public String getEndPinyin() {
    return endPinyin;
    }

    public void setEndPinyin(String endPinyin) {
    this.endPinyin = endPinyin;
    }

    public Date getEndTime() {
    return endTime;
    }

    public void setEndTime(Date endTime) {
    this.endTime = endTime;
    }

    public Integer getEndIndex() {
    return endIndex;
    }

    public void setEndIndex(Integer endIndex) {
    this.endIndex = endIndex;
    }

    public Integer getYdz() {
    return ydz;
    }

    public void setYdz(Integer ydz) {
    this.ydz = ydz;
    }

    public BigDecimal getYdzPrice() {
    return ydzPrice;
    }

    public void setYdzPrice(BigDecimal ydzPrice) {
    this.ydzPrice = ydzPrice;
    }

    public Integer getEdz() {
    return edz;
    }

    public void setEdz(Integer edz) {
    this.edz = edz;
    }

    public BigDecimal getEdzPrice() {
    return edzPrice;
    }

    public void setEdzPrice(BigDecimal edzPrice) {
    this.edzPrice = edzPrice;
    }

    public Integer getRw() {
    return rw;
    }

    public void setRw(Integer rw) {
    this.rw = rw;
    }

    public BigDecimal getRwPrice() {
    return rwPrice;
    }

    public void setRwPrice(BigDecimal rwPrice) {
    this.rwPrice = rwPrice;
    }

    public Integer getYw() {
    return yw;
    }

    public void setYw(Integer yw) {
    this.yw = yw;
    }

    public BigDecimal getYwPrice() {
    return ywPrice;
    }

    public void setYwPrice(BigDecimal ywPrice) {
    this.ywPrice = ywPrice;
    }

    public Date getCreateTime() {
    return createTime;
    }

    public void setCreateTime(Date createTime) {
    this.createTime = createTime;
    }

    public Date getUpdateTime() {
    return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
    this.updateTime = updateTime;
    }

@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
    sb.append(", id=").append(id);
    sb.append(", date=").append(date);
    sb.append(", trainCode=").append(trainCode);
    sb.append(", start=").append(start);
    sb.append(", startPinyin=").append(startPinyin);
    sb.append(", startTime=").append(startTime);
    sb.append(", startIndex=").append(startIndex);
    sb.append(", end=").append(end);
    sb.append(", endPinyin=").append(endPinyin);
    sb.append(", endTime=").append(endTime);
    sb.append(", endIndex=").append(endIndex);
    sb.append(", ydz=").append(ydz);
    sb.append(", ydzPrice=").append(ydzPrice);
    sb.append(", edz=").append(edz);
    sb.append(", edzPrice=").append(edzPrice);
    sb.append(", rw=").append(rw);
    sb.append(", rwPrice=").append(rwPrice);
    sb.append(", yw=").append(yw);
    sb.append(", ywPrice=").append(ywPrice);
    sb.append(", createTime=").append(createTime);
    sb.append(", updateTime=").append(updateTime);
sb.append("]");
return sb.toString();
}
}
